package edu.xust.entity;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class PsOrderExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    private Integer limit;

    private Integer offset;

    public PsOrderExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    public void setLimit(Integer limit) {
        this.limit = limit;
    }

    public Integer getLimit() {
        return limit;
    }

    public void setOffset(Integer offset) {
        this.offset = offset;
    }

    public Integer getOffset() {
        return offset;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andPsIdIsNull() {
            addCriterion("ps_id is null");
            return (Criteria) this;
        }

        public Criteria andPsIdIsNotNull() {
            addCriterion("ps_id is not null");
            return (Criteria) this;
        }

        public Criteria andPsIdEqualTo(String value) {
            addCriterion("ps_id =", value, "psId");
            return (Criteria) this;
        }

        public Criteria andPsIdNotEqualTo(String value) {
            addCriterion("ps_id <>", value, "psId");
            return (Criteria) this;
        }

        public Criteria andPsIdGreaterThan(String value) {
            addCriterion("ps_id >", value, "psId");
            return (Criteria) this;
        }

        public Criteria andPsIdGreaterThanOrEqualTo(String value) {
            addCriterion("ps_id >=", value, "psId");
            return (Criteria) this;
        }

        public Criteria andPsIdLessThan(String value) {
            addCriterion("ps_id <", value, "psId");
            return (Criteria) this;
        }

        public Criteria andPsIdLessThanOrEqualTo(String value) {
            addCriterion("ps_id <=", value, "psId");
            return (Criteria) this;
        }

        public Criteria andPsIdLike(String value) {
            addCriterion("ps_id like", value, "psId");
            return (Criteria) this;
        }

        public Criteria andPsIdNotLike(String value) {
            addCriterion("ps_id not like", value, "psId");
            return (Criteria) this;
        }

        public Criteria andPsIdIn(List<String> values) {
            addCriterion("ps_id in", values, "psId");
            return (Criteria) this;
        }

        public Criteria andPsIdNotIn(List<String> values) {
            addCriterion("ps_id not in", values, "psId");
            return (Criteria) this;
        }

        public Criteria andPsIdBetween(String value1, String value2) {
            addCriterion("ps_id between", value1, value2, "psId");
            return (Criteria) this;
        }

        public Criteria andPsIdNotBetween(String value1, String value2) {
            addCriterion("ps_id not between", value1, value2, "psId");
            return (Criteria) this;
        }

        public Criteria andPsWidIsNull() {
            addCriterion("ps_wid is null");
            return (Criteria) this;
        }

        public Criteria andPsWidIsNotNull() {
            addCriterion("ps_wid is not null");
            return (Criteria) this;
        }

        public Criteria andPsWidEqualTo(String value) {
            addCriterion("ps_wid =", value, "psWid");
            return (Criteria) this;
        }

        public Criteria andPsWidNotEqualTo(String value) {
            addCriterion("ps_wid <>", value, "psWid");
            return (Criteria) this;
        }

        public Criteria andPsWidGreaterThan(String value) {
            addCriterion("ps_wid >", value, "psWid");
            return (Criteria) this;
        }

        public Criteria andPsWidGreaterThanOrEqualTo(String value) {
            addCriterion("ps_wid >=", value, "psWid");
            return (Criteria) this;
        }

        public Criteria andPsWidLessThan(String value) {
            addCriterion("ps_wid <", value, "psWid");
            return (Criteria) this;
        }

        public Criteria andPsWidLessThanOrEqualTo(String value) {
            addCriterion("ps_wid <=", value, "psWid");
            return (Criteria) this;
        }

        public Criteria andPsWidLike(String value) {
            addCriterion("ps_wid like", value, "psWid");
            return (Criteria) this;
        }

        public Criteria andPsWidNotLike(String value) {
            addCriterion("ps_wid not like", value, "psWid");
            return (Criteria) this;
        }

        public Criteria andPsWidIn(List<String> values) {
            addCriterion("ps_wid in", values, "psWid");
            return (Criteria) this;
        }

        public Criteria andPsWidNotIn(List<String> values) {
            addCriterion("ps_wid not in", values, "psWid");
            return (Criteria) this;
        }

        public Criteria andPsWidBetween(String value1, String value2) {
            addCriterion("ps_wid between", value1, value2, "psWid");
            return (Criteria) this;
        }

        public Criteria andPsWidNotBetween(String value1, String value2) {
            addCriterion("ps_wid not between", value1, value2, "psWid");
            return (Criteria) this;
        }

        public Criteria andPsAreaIsNull() {
            addCriterion("ps_area is null");
            return (Criteria) this;
        }

        public Criteria andPsAreaIsNotNull() {
            addCriterion("ps_area is not null");
            return (Criteria) this;
        }

        public Criteria andPsAreaEqualTo(String value) {
            addCriterion("ps_area =", value, "psArea");
            return (Criteria) this;
        }

        public Criteria andPsAreaNotEqualTo(String value) {
            addCriterion("ps_area <>", value, "psArea");
            return (Criteria) this;
        }

        public Criteria andPsAreaGreaterThan(String value) {
            addCriterion("ps_area >", value, "psArea");
            return (Criteria) this;
        }

        public Criteria andPsAreaGreaterThanOrEqualTo(String value) {
            addCriterion("ps_area >=", value, "psArea");
            return (Criteria) this;
        }

        public Criteria andPsAreaLessThan(String value) {
            addCriterion("ps_area <", value, "psArea");
            return (Criteria) this;
        }

        public Criteria andPsAreaLessThanOrEqualTo(String value) {
            addCriterion("ps_area <=", value, "psArea");
            return (Criteria) this;
        }

        public Criteria andPsAreaLike(String value) {
            addCriterion("ps_area like", value, "psArea");
            return (Criteria) this;
        }

        public Criteria andPsAreaNotLike(String value) {
            addCriterion("ps_area not like", value, "psArea");
            return (Criteria) this;
        }

        public Criteria andPsAreaIn(List<String> values) {
            addCriterion("ps_area in", values, "psArea");
            return (Criteria) this;
        }

        public Criteria andPsAreaNotIn(List<String> values) {
            addCriterion("ps_area not in", values, "psArea");
            return (Criteria) this;
        }

        public Criteria andPsAreaBetween(String value1, String value2) {
            addCriterion("ps_area between", value1, value2, "psArea");
            return (Criteria) this;
        }

        public Criteria andPsAreaNotBetween(String value1, String value2) {
            addCriterion("ps_area not between", value1, value2, "psArea");
            return (Criteria) this;
        }

        public Criteria andPsDetailsIsNull() {
            addCriterion("ps_details is null");
            return (Criteria) this;
        }

        public Criteria andPsDetailsIsNotNull() {
            addCriterion("ps_details is not null");
            return (Criteria) this;
        }

        public Criteria andPsDetailsEqualTo(String value) {
            addCriterion("ps_details =", value, "psDetails");
            return (Criteria) this;
        }

        public Criteria andPsDetailsNotEqualTo(String value) {
            addCriterion("ps_details <>", value, "psDetails");
            return (Criteria) this;
        }

        public Criteria andPsDetailsGreaterThan(String value) {
            addCriterion("ps_details >", value, "psDetails");
            return (Criteria) this;
        }

        public Criteria andPsDetailsGreaterThanOrEqualTo(String value) {
            addCriterion("ps_details >=", value, "psDetails");
            return (Criteria) this;
        }

        public Criteria andPsDetailsLessThan(String value) {
            addCriterion("ps_details <", value, "psDetails");
            return (Criteria) this;
        }

        public Criteria andPsDetailsLessThanOrEqualTo(String value) {
            addCriterion("ps_details <=", value, "psDetails");
            return (Criteria) this;
        }

        public Criteria andPsDetailsLike(String value) {
            addCriterion("ps_details like", value, "psDetails");
            return (Criteria) this;
        }

        public Criteria andPsDetailsNotLike(String value) {
            addCriterion("ps_details not like", value, "psDetails");
            return (Criteria) this;
        }

        public Criteria andPsDetailsIn(List<String> values) {
            addCriterion("ps_details in", values, "psDetails");
            return (Criteria) this;
        }

        public Criteria andPsDetailsNotIn(List<String> values) {
            addCriterion("ps_details not in", values, "psDetails");
            return (Criteria) this;
        }

        public Criteria andPsDetailsBetween(String value1, String value2) {
            addCriterion("ps_details between", value1, value2, "psDetails");
            return (Criteria) this;
        }

        public Criteria andPsDetailsNotBetween(String value1, String value2) {
            addCriterion("ps_details not between", value1, value2, "psDetails");
            return (Criteria) this;
        }

        public Criteria andPsStatusIsNull() {
            addCriterion("ps_status is null");
            return (Criteria) this;
        }

        public Criteria andPsStatusIsNotNull() {
            addCriterion("ps_status is not null");
            return (Criteria) this;
        }

        public Criteria andPsStatusEqualTo(String value) {
            addCriterion("ps_status =", value, "psStatus");
            return (Criteria) this;
        }

        public Criteria andPsStatusNotEqualTo(String value) {
            addCriterion("ps_status <>", value, "psStatus");
            return (Criteria) this;
        }

        public Criteria andPsStatusGreaterThan(String value) {
            addCriterion("ps_status >", value, "psStatus");
            return (Criteria) this;
        }

        public Criteria andPsStatusGreaterThanOrEqualTo(String value) {
            addCriterion("ps_status >=", value, "psStatus");
            return (Criteria) this;
        }

        public Criteria andPsStatusLessThan(String value) {
            addCriterion("ps_status <", value, "psStatus");
            return (Criteria) this;
        }

        public Criteria andPsStatusLessThanOrEqualTo(String value) {
            addCriterion("ps_status <=", value, "psStatus");
            return (Criteria) this;
        }

        public Criteria andPsStatusLike(String value) {
            addCriterion("ps_status like", value, "psStatus");
            return (Criteria) this;
        }

        public Criteria andPsStatusNotLike(String value) {
            addCriterion("ps_status not like", value, "psStatus");
            return (Criteria) this;
        }

        public Criteria andPsStatusIn(List<String> values) {
            addCriterion("ps_status in", values, "psStatus");
            return (Criteria) this;
        }

        public Criteria andPsStatusNotIn(List<String> values) {
            addCriterion("ps_status not in", values, "psStatus");
            return (Criteria) this;
        }

        public Criteria andPsStatusBetween(String value1, String value2) {
            addCriterion("ps_status between", value1, value2, "psStatus");
            return (Criteria) this;
        }

        public Criteria andPsStatusNotBetween(String value1, String value2) {
            addCriterion("ps_status not between", value1, value2, "psStatus");
            return (Criteria) this;
        }

        public Criteria andPsCreatetimeIsNull() {
            addCriterion("ps_createtime is null");
            return (Criteria) this;
        }

        public Criteria andPsCreatetimeIsNotNull() {
            addCriterion("ps_createtime is not null");
            return (Criteria) this;
        }

        public Criteria andPsCreatetimeEqualTo(Date value) {
            addCriterion("ps_createtime =", value, "psCreatetime");
            return (Criteria) this;
        }

        public Criteria andPsCreatetimeNotEqualTo(Date value) {
            addCriterion("ps_createtime <>", value, "psCreatetime");
            return (Criteria) this;
        }

        public Criteria andPsCreatetimeGreaterThan(Date value) {
            addCriterion("ps_createtime >", value, "psCreatetime");
            return (Criteria) this;
        }

        public Criteria andPsCreatetimeGreaterThanOrEqualTo(Date value) {
            addCriterion("ps_createtime >=", value, "psCreatetime");
            return (Criteria) this;
        }

        public Criteria andPsCreatetimeLessThan(Date value) {
            addCriterion("ps_createtime <", value, "psCreatetime");
            return (Criteria) this;
        }

        public Criteria andPsCreatetimeLessThanOrEqualTo(Date value) {
            addCriterion("ps_createtime <=", value, "psCreatetime");
            return (Criteria) this;
        }

        public Criteria andPsCreatetimeIn(List<Date> values) {
            addCriterion("ps_createtime in", values, "psCreatetime");
            return (Criteria) this;
        }

        public Criteria andPsCreatetimeNotIn(List<Date> values) {
            addCriterion("ps_createtime not in", values, "psCreatetime");
            return (Criteria) this;
        }

        public Criteria andPsCreatetimeBetween(Date value1, Date value2) {
            addCriterion("ps_createtime between", value1, value2, "psCreatetime");
            return (Criteria) this;
        }

        public Criteria andPsCreatetimeNotBetween(Date value1, Date value2) {
            addCriterion("ps_createtime not between", value1, value2, "psCreatetime");
            return (Criteria) this;
        }

        public Criteria andPsFinishtimeIsNull() {
            addCriterion("ps_finishtime is null");
            return (Criteria) this;
        }

        public Criteria andPsFinishtimeIsNotNull() {
            addCriterion("ps_finishtime is not null");
            return (Criteria) this;
        }

        public Criteria andPsFinishtimeEqualTo(Date value) {
            addCriterion("ps_finishtime =", value, "psFinishtime");
            return (Criteria) this;
        }

        public Criteria andPsFinishtimeNotEqualTo(Date value) {
            addCriterion("ps_finishtime <>", value, "psFinishtime");
            return (Criteria) this;
        }

        public Criteria andPsFinishtimeGreaterThan(Date value) {
            addCriterion("ps_finishtime >", value, "psFinishtime");
            return (Criteria) this;
        }

        public Criteria andPsFinishtimeGreaterThanOrEqualTo(Date value) {
            addCriterion("ps_finishtime >=", value, "psFinishtime");
            return (Criteria) this;
        }

        public Criteria andPsFinishtimeLessThan(Date value) {
            addCriterion("ps_finishtime <", value, "psFinishtime");
            return (Criteria) this;
        }

        public Criteria andPsFinishtimeLessThanOrEqualTo(Date value) {
            addCriterion("ps_finishtime <=", value, "psFinishtime");
            return (Criteria) this;
        }

        public Criteria andPsFinishtimeIn(List<Date> values) {
            addCriterion("ps_finishtime in", values, "psFinishtime");
            return (Criteria) this;
        }

        public Criteria andPsFinishtimeNotIn(List<Date> values) {
            addCriterion("ps_finishtime not in", values, "psFinishtime");
            return (Criteria) this;
        }

        public Criteria andPsFinishtimeBetween(Date value1, Date value2) {
            addCriterion("ps_finishtime between", value1, value2, "psFinishtime");
            return (Criteria) this;
        }

        public Criteria andPsFinishtimeNotBetween(Date value1, Date value2) {
            addCriterion("ps_finishtime not between", value1, value2, "psFinishtime");
            return (Criteria) this;
        }

        public Criteria andPsPidIsNull() {
            addCriterion("ps_pid is null");
            return (Criteria) this;
        }

        public Criteria andPsPidIsNotNull() {
            addCriterion("ps_pid is not null");
            return (Criteria) this;
        }

        public Criteria andPsPidEqualTo(String value) {
            addCriterion("ps_pid =", value, "psPid");
            return (Criteria) this;
        }

        public Criteria andPsPidNotEqualTo(String value) {
            addCriterion("ps_pid <>", value, "psPid");
            return (Criteria) this;
        }

        public Criteria andPsPidGreaterThan(String value) {
            addCriterion("ps_pid >", value, "psPid");
            return (Criteria) this;
        }

        public Criteria andPsPidGreaterThanOrEqualTo(String value) {
            addCriterion("ps_pid >=", value, "psPid");
            return (Criteria) this;
        }

        public Criteria andPsPidLessThan(String value) {
            addCriterion("ps_pid <", value, "psPid");
            return (Criteria) this;
        }

        public Criteria andPsPidLessThanOrEqualTo(String value) {
            addCriterion("ps_pid <=", value, "psPid");
            return (Criteria) this;
        }

        public Criteria andPsPidLike(String value) {
            addCriterion("ps_pid like", value, "psPid");
            return (Criteria) this;
        }

        public Criteria andPsPidNotLike(String value) {
            addCriterion("ps_pid not like", value, "psPid");
            return (Criteria) this;
        }

        public Criteria andPsPidIn(List<String> values) {
            addCriterion("ps_pid in", values, "psPid");
            return (Criteria) this;
        }

        public Criteria andPsPidNotIn(List<String> values) {
            addCriterion("ps_pid not in", values, "psPid");
            return (Criteria) this;
        }

        public Criteria andPsPidBetween(String value1, String value2) {
            addCriterion("ps_pid between", value1, value2, "psPid");
            return (Criteria) this;
        }

        public Criteria andPsPidNotBetween(String value1, String value2) {
            addCriterion("ps_pid not between", value1, value2, "psPid");
            return (Criteria) this;
        }

        public Criteria andPsTypeIsNull() {
            addCriterion("ps_type is null");
            return (Criteria) this;
        }

        public Criteria andPsTypeIsNotNull() {
            addCriterion("ps_type is not null");
            return (Criteria) this;
        }

        public Criteria andPsTypeEqualTo(String value) {
            addCriterion("ps_type =", value, "psType");
            return (Criteria) this;
        }

        public Criteria andPsTypeNotEqualTo(String value) {
            addCriterion("ps_type <>", value, "psType");
            return (Criteria) this;
        }

        public Criteria andPsTypeGreaterThan(String value) {
            addCriterion("ps_type >", value, "psType");
            return (Criteria) this;
        }

        public Criteria andPsTypeGreaterThanOrEqualTo(String value) {
            addCriterion("ps_type >=", value, "psType");
            return (Criteria) this;
        }

        public Criteria andPsTypeLessThan(String value) {
            addCriterion("ps_type <", value, "psType");
            return (Criteria) this;
        }

        public Criteria andPsTypeLessThanOrEqualTo(String value) {
            addCriterion("ps_type <=", value, "psType");
            return (Criteria) this;
        }

        public Criteria andPsTypeLike(String value) {
            addCriterion("ps_type like", value, "psType");
            return (Criteria) this;
        }

        public Criteria andPsTypeNotLike(String value) {
            addCriterion("ps_type not like", value, "psType");
            return (Criteria) this;
        }

        public Criteria andPsTypeIn(List<String> values) {
            addCriterion("ps_type in", values, "psType");
            return (Criteria) this;
        }

        public Criteria andPsTypeNotIn(List<String> values) {
            addCriterion("ps_type not in", values, "psType");
            return (Criteria) this;
        }

        public Criteria andPsTypeBetween(String value1, String value2) {
            addCriterion("ps_type between", value1, value2, "psType");
            return (Criteria) this;
        }

        public Criteria andPsTypeNotBetween(String value1, String value2) {
            addCriterion("ps_type not between", value1, value2, "psType");
            return (Criteria) this;
        }

        public Criteria andPsImgsIsNull() {
            addCriterion("ps_imgs is null");
            return (Criteria) this;
        }

        public Criteria andPsImgsIsNotNull() {
            addCriterion("ps_imgs is not null");
            return (Criteria) this;
        }

        public Criteria andPsImgsEqualTo(String value) {
            addCriterion("ps_imgs =", value, "psImgs");
            return (Criteria) this;
        }

        public Criteria andPsImgsNotEqualTo(String value) {
            addCriterion("ps_imgs <>", value, "psImgs");
            return (Criteria) this;
        }

        public Criteria andPsImgsGreaterThan(String value) {
            addCriterion("ps_imgs >", value, "psImgs");
            return (Criteria) this;
        }

        public Criteria andPsImgsGreaterThanOrEqualTo(String value) {
            addCriterion("ps_imgs >=", value, "psImgs");
            return (Criteria) this;
        }

        public Criteria andPsImgsLessThan(String value) {
            addCriterion("ps_imgs <", value, "psImgs");
            return (Criteria) this;
        }

        public Criteria andPsImgsLessThanOrEqualTo(String value) {
            addCriterion("ps_imgs <=", value, "psImgs");
            return (Criteria) this;
        }

        public Criteria andPsImgsLike(String value) {
            addCriterion("ps_imgs like", value, "psImgs");
            return (Criteria) this;
        }

        public Criteria andPsImgsNotLike(String value) {
            addCriterion("ps_imgs not like", value, "psImgs");
            return (Criteria) this;
        }

        public Criteria andPsImgsIn(List<String> values) {
            addCriterion("ps_imgs in", values, "psImgs");
            return (Criteria) this;
        }

        public Criteria andPsImgsNotIn(List<String> values) {
            addCriterion("ps_imgs not in", values, "psImgs");
            return (Criteria) this;
        }

        public Criteria andPsImgsBetween(String value1, String value2) {
            addCriterion("ps_imgs between", value1, value2, "psImgs");
            return (Criteria) this;
        }

        public Criteria andPsImgsNotBetween(String value1, String value2) {
            addCriterion("ps_imgs not between", value1, value2, "psImgs");
            return (Criteria) this;
        }
    }

    /**
     */
    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}